home *** CD-ROM | disk | FTP | other *** search
/ The PC-SIG Library 10 / The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso / PC_SIGCD / 20 / 5 / DISK2058.ZIP / UNFAST.EXE / FAST_FIX.HLP < prev    next >
Text File  |  1980-01-01  |  17KB  |  401 lines

  1. Fixed: EXTINPUT functions return 0 if ESC pushed (all changes are ignored).
  2.  
  3. FAST: v1.98  Date: 01/03/89
  4.  
  5. Fixed: #TRACE ON/OFF was implemented and FASTT is a new program to run compiled
  6.        code while showing source code.
  7.  
  8. FAST: v2.00  Date: 06/01/89
  9.  
  10. Fixed: SEARCH[B] produces shorter code.
  11.  
  12. FAST: v2.01  Date: 09/01/89
  13.  
  14. Fixed: SEARCH[B] returned 0 for last item, now it returns proper address
  15.        (long time bug, not caused by v2.01).
  16.      - The NULL command has been added to do nothing but fill a space where a
  17.        command is needed but not wanted.
  18.  
  19. FAST: v2.02  Date: 17/01/89
  20.  
  21. Fixed: Added #entry command to set code entry point.
  22.        Added modify command: modify segment to new_paragraphs.
  23.  
  24. FAST: v2.03  Date: 05/02/89
  25.  
  26. Fixed: Fixes print tab and print , didn't tab 8 or 16 characters.
  27.  
  28. FAST: v2.04  Date: 09/01/89
  29.  
  30. Fixed: The function carry has been added, 1=carry set else 0.
  31.      - Added #short and #long. All code compiled while #short is set
  32.        will produce short jumps in IF THEN ELSE statements. The
  33.        default is long. The error 'Code exceeds short jump range!'
  34.        will occur if the code is too long.
  35.  
  36. FAST: v2.05  Date: 12/02/89
  37.  
  38. Fixed: Windows now checks for enough free memory or else 'error 8'
  39.  
  40. FAST: v2.06  Date: 13/02/89
  41.  
  42. Fixed: close window - if none gives error 6 ('invalid handle').
  43.        open window  - if 20 windows open already then error 4
  44.        ('no more handles').
  45.  
  46. FAST: v2.07  Date: 14/02/89
  47.  
  48. Fixed: Extended the var data type, unsigned is a subset.
  49.        Example... UNSIGNED address;   Effects < > >= <= only.
  50.  
  51. FAST: v2.08  Date: 19/02/89
  52.  
  53. Fixed: #SHORT and #LONG automatically match correctly at the end of IF THEN
  54.        ELSE blocks.
  55.      - Add PRINTM command: printm address,len to print the memory in ascii at
  56.        address onto the screen at LOCPOS. The line is cleared to a length of
  57.        len characters. Used in WT and FASTT.
  58.  
  59. FAST: v2.09  Date: 22/02/89
  60.  
  61. Fixed: Add ON TRACE/DEBUG and STOP TRACE/DEBUG.
  62.        on trace statement - called by FASTT.
  63.        on debug statement - called for every debugged line.
  64.  
  65. FAST: v2.10  Date: 23/02/89
  66.  
  67. Fixed: Signed variables, now work in all cases.
  68.  
  69. FAST: v2.11  Date: 27/02/89
  70.  
  71. Fixed: Unsigned variables (didn't have fixed before).
  72.  
  73. FAST: v2.13  Date: 01/03/89
  74.  
  75. Fixed: Problems with FAST giving wrong error messages.
  76.      - Improve 32 bit arithmetic.
  77.  
  78. FAST: v2.14  Date: 02/03/89
  79.  
  80. Fixed: Optimize block commands when in same segment.
  81.  
  82. FAST: v2.15  Date: 03/03/89
  83.  
  84. Fixed: ERROR MSG command automatically prints 'Error n [DOS=n]' when it gets an
  85.        error of its own. DOS=n is the error then error msg got.
  86.  
  87. FAST: v2.16  Date: 07/03/89
  88.  
  89. Fixed: PRINTM function now ignores line feeds (10).
  90.      - Add #SETDOS n.xx command, FAST now compiles your programs so
  91.        they check for the correct DOS version.
  92.        The default is 2.00 but if special FAST commands are used or
  93.        the user specifies another version then that version or higher
  94.        must be present to work. #SETDOS cannot be lower than what
  95.        FAST requires. Example... #SETDOS 3.30
  96.  
  97. FAST: v2.17  Date: 09/03/89
  98.  
  99. Fixed: Add IRET and RETF commands - same as assembler.
  100.        Useful when writing own interupt handlers etc.
  101.      - Renamed SETVECT and GETVECT to SETINT and GETINT.
  102.  
  103. FAST: v2.18  Date: 11/03/89
  104.  
  105. Fixed: Add STOP command - synonomous with TERMINATE.
  106.      - PRINT DOS is now valid, earlier documentation said PRINT DOS but only
  107.        PRINT BIOS was available. Now PRINT DOS is valid -
  108.        both print using the DOS standard io.
  109.      - SEEK #n,EOF  ;same as seek to end of file.
  110.  
  111. FAST: v2.19  Date: 19/03/89
  112.  
  113. Fixed: PROC[EDURE] and FUNCTION are now treated the same.
  114.        This means a function can be used as a command and a procedure can be
  115.        used as a function. When either is used as a command this means the
  116.        RETURN value will be ignored.
  117.  
  118. FAST: v2.20  Date: 27/03/89
  119.  
  120. Fixed: PRINTM address,len [,0]  adding ,0 means PRINTM does not overwrite the
  121.        current colour on the screen.
  122.      - When window commands get an error they leave the address from within the
  123.        code that the window command was called from rather than the library
  124.        address.
  125.        Note: OPEN WINDOW & CLOSE WINDOW[S] are libraries built invisibly into
  126.              the FAST compiler.
  127.  
  128. FAST: v2.21   Date: 29/03/1989
  129.  
  130. Fixed: Fixed compiler setting of video adapter.
  131.      - ERROR MSG prints correct DOS error for all errors.
  132.      - Shorten code for all error handling, created two internal libraries.
  133.  
  134. FAST: v2.22   Date: 30/03/1989
  135.  
  136. Fixed: HGRAPHICS command now installed.
  137.  
  138. Fix the PLOT, LINE and SPRITE routines!
  139.  
  140. FAST: v2.23   Date: 02/04/1989
  141.  
  142. Fixed: Error handling didn't handle properly since last change, now works ok.
  143.  
  144. FAST: v2.25   Date: 12/04/1989
  145.  
  146. Fixed: PRINT "stuff" ELSE - didn't print the CR character for newline.
  147.      - Some of the FAST Compilers screen output.
  148.  
  149. FAST: v2.26   Date: 17/04/1989
  150.  
  151. Fixed: GETINT and SETINT use hex numbers (same as DOS and INT).
  152.        Eg SETINT 21 TO address ;Means 21h (33 decimal).
  153.  
  154. FAST: v2.27   Date: 25/04/1989
  155.  
  156. Fixed: MODE function is now called SCREEN, since corresponds to the SCREEN
  157.        command.
  158.      - The SCREEN function was changed to SCRCHR y,x.
  159.  
  160. FAST: v2.29   Date: 29/04/1989
  161.  
  162. Fixed: Tidied up some FAST code and removed the FAST maintenance BEEP option,
  163.        this was only setup becase FAST used to be a slowish compiler.
  164.  
  165. FAST: v2.30   Date: 01/05/1989
  166.  
  167. Fixed: Added the INDOSS and INDOSO functions, these are for TSR programs.
  168.        INDOSS returns the segment of the INDOS flag, INDOSO returns the offset.
  169.        If you override an interupt and test the INDOS flag within the
  170.        interupt it will return 0 if DOS is not being used.
  171.        Note: When DOS awaits a command it is in DOS but IDLE.
  172.      - Added ON IDLE and STOP IDLE, now you can perform tasks while DOS is idle.
  173.  
  174.        ON IDLE does what the original IDLE interupt did then does the new task.
  175.        STOP IDLE resets the IDLE interupt to what it did before using ON IDLE.
  176.  
  177. Note: The INDOSS and INDOSO functions use DOS functions so must not be used
  178.       within an interupt, instead at program initialsation set two variables
  179.       = to each function. Then within the interupt test the INDOS flag by using
  180.             "IF seg[off]b THEN where_using_dos"
  181.  
  182. FAST: v2.31   Date: 03/05/1989
  183. Fixed: Added the PSP command and function.
  184.        PSP n    ;Sets the current PSP to segment n.
  185.        var=PSP  ;Returns the current PSP segment.
  186.  
  187.        Note: PSP = Program Segment Prefix.
  188.  
  189. FAST: v2.32   Date: 04/05/1989
  190. Fixed: All variables, arrays and long variables (eg VAR ? 200) are aligned on
  191.        word boundaries, this makes the programs run faster when using the
  192.        16 or 32 bit chips (ie 80286, 386, 486 ...).
  193.        This also means the long variables defined using VAR ? 200 will always
  194.        use the highest even number.
  195.  
  196.        Example...
  197.             x=0
  198.             y ? 201
  199.             z=20
  200.  
  201.             x is stored at 0800h
  202.             y is stored at 0802h        0800h + 2 bytes.
  203.             z is stored at 08CCh        0802h + 202 bytes (rounded up from 201)
  204.  
  205. FAST: v2.33   Date: 06/05/1989
  206. Fixed: Now checks the 64K limit more efficiently, only one error message occurs
  207.        which says exceeded the 64K limit.
  208.  
  209. FAST: v2.34   Date: 08/05/1989
  210. Fixed: PRINTM function now prints line feeds, only skipping over it when
  211.        followed by a carriage return.
  212.      - Most undefined constants will now compile ok but the warning 'Undefined
  213.        label (0 used).' will be printed. All occurrences of the label will
  214.        represent the constant 0.
  215.  
  216. FAST: v2.35   Date: 14/05/1989
  217. Fixed: Completed ON TRACE handling by the program FASTT and also ON DEBUG is
  218.        now compiled properly: each line calls the current ON DEBUG statement.
  219.  
  220. FAST: v2.36   Date: 15/04/1989
  221. Fixed: Added CHANGE DISK command, changes default drive to b (a number from 0
  222.        for A: to the last drive).
  223.      - Added CDISK function for checking which drive is the default, 0 for A:,
  224.        1 for B: etc...
  225.  
  226. FAST: v2.37   Date: 24/05/1989
  227. Fixed: Added more optimisations to the POKE command, now produces even tighter
  228.        code.
  229.      - Fixed long time bug where FAST did not recognise end of file when the
  230.        eof (26) character was missing.
  231.  
  232. FAST: v2.38   Date: 28/05/1989
  233. Fixed: Change LPRINT commands to use the BIOS interupt 17h rather then through
  234.        DOS, this allows quicker printing but mainly allows programs to easily
  235.        intercept the printer output.
  236.  
  237. FAST: v2.39   Date: 29/05/1989
  238. Fixed: Tiny fixups and speed improvements.
  239.  
  240. FAST: v2.40   Date: 07/06/1989
  241. Fixed: Added the function FINDBIN, it has the same syntax as the include file,
  242.        FINDBIN.F. All ocurrences of FIND_BIN should be changed to FINDBIN and
  243.        the #INCLUDE FINDBIN.F commands should be deleted.
  244.  
  245. Note ! The FINDBIN function still sets the find_bin_put variable but no other
  246.        variables are used.
  247.  
  248. FAST: v2.41   Date: 20/06/1989
  249. Fixed: Findbin needed more improvements.
  250.  
  251. FAST: v2.42   Date: 21/06/1989
  252. Fixed: ON IDLE command for TSR programs was 'slightly' bugged, when some
  253.        programs loaded they called the wrong long interupt vector.
  254.  
  255. Note ! The source file TSR.F has been included now as a skeleton for any TSR
  256.        program you may wish to write, PU.F uses the same design.
  257.  
  258. FAST: v2.43   Date: 25/06/1989
  259. Fixed: CALL, JUMP and USR can now use any address (offset, or segment|offset).
  260.        The segment and offset can also be any expression, not just constants.
  261.  
  262. FAST: v2.44   Date: 26/06/1989
  263. Fixed: The /h option has been added to the FAST and SOFA command line, for
  264.        help. At the moment it only contains a few command reminders.
  265.      - The FAST and SOFA command line can now have a semi-colon appended to the
  266.        filename which will suppress all prompts before compiling.
  267.        Example, FAST WT;  compiles WT, doesn't ask for source or symbol table
  268.        listing.
  269.  
  270. FAST: v2.46   Date: 05/08/1989
  271. Fixed: The warning message 'Unexpected end of file' has been changed to now
  272.        give a reason, for example, Missing NEXT or IF-THEN-ELSE not finished,
  273.        there are 9 such warnings now to describe unfinished programs.
  274.      - Reminder, FAST can accept double declarations of variables using VAR
  275.        or UNSIGNED, a check is made to see that a signed variable is not
  276.        changed to an unsigned one, this would generate an error.
  277.  
  278. FAST: v2.47   Date: 06/08/1989
  279. Fixed: Added FAST.CFG file, if its not found in the current directory then the
  280.        defaults are used. FAST /m will save it automatically after altering
  281.        the FAST defaults.
  282.  
  283. FAST: v2.48   Date: 22/08/1989
  284. Fixed: FAST /? or FAST /h is now valid.
  285.      - FAST and SOFA now print source listings with leading zeros and lines
  286.        are seperated with the filename - it has made a nicer looking list
  287.        file.
  288.      - Most of the include files have been changed to .FI files.
  289.      - The log file has been implemented. No command line option is used,
  290.        you set whether you want log files or not using 'FAST /m'
  291.        I think this idea of yours was great, I have often needed to know
  292.        when I last compiled a program and whether the compile worked or not.
  293.        The file is called SOFA.LOG or FAST.LOG and is always put into the
  294.        current disk/path.
  295.  
  296. FAST: v2.49   Date: 28/08/1989
  297. Fixed: There was confusion between putting commands on the same line as labels,
  298.        this problem is now solved: You can always put a command after a label
  299.        without getting an error.
  300.        Note: Sometimes a programmer misspelled a procedure or command name.
  301.        For example 'high_score:explosion'. If the procedure high_score was
  302.        actually high_scores then FAST may have given an error or it may have
  303.        compiled high_score as a label. Now it will always compile it as a
  304.        label (well at least it's consistent).
  305.  
  306.        The best way to check for labels and procedure problems is to check
  307.        the symbol table every so often and look for strange label or procedure
  308.        names.
  309.  
  310. FAST: v2.51   Date: 11/09/1989
  311. Fixed: The TSR programs had a small error which could effect operation if
  312.        activated once using the idle interupt then again using on int.
  313.        All TSR's should set the internal variable IHERE = 1 when starting
  314.        ON IDLE and reset when finished, alternatively set the IHERE variable
  315.        when executing the "program" procedure and when exiting it.
  316.  
  317.      ! Communications commands have been installed, they are different from
  318.        the original design plans.
  319.        For full details, search for "serial" and/or "communications".
  320.  
  321. FAST: v2.52   Date: 20/09/1989
  322. Fixed: STOP IDLE had a bug, reset interupt all wrong. Works now though.
  323.  
  324.      - Still working on serial coms commands, nobody on the Wellington BBS's
  325.        has any info as yet. I've got info on XMODEM and YMODEM so these
  326.        functions will be provided in a my terminal emulator: PHONE.F
  327.  
  328. FAST: v2.54   Date: 26/09/1989
  329. Fixed: The HGRAPHICS command was ignored before, it should work now.
  330.  
  331.      - A new command, #PROTECT can be added anywhere in a program so that when
  332.        run it will check itself for viruses attached to the .COM file.
  333.        #PROTECT should discover any virus. If you get the message about the
  334.        change in a files size then you will have to eradicate the virus.
  335.        This can be done by first booting off a clean floppy, then recompiling
  336.        all FAST programs. All your other .COM, .EXE and boot sectors etc will
  337.        need thorough checking to avoid recurring problems.
  338.  
  339.      - The pipe (|) symbol used for segment:offset notation can now be
  340.        optionally changed to the exclamation mark (!).
  341.        This option is provided so that users of Gestetner laser printers
  342.        can now print their source files without hassles.
  343.        Use FAST /m and push ! when asked 'Segment:Offset |/!', globally
  344.        replace | with ! using WT.
  345.  
  346. FAST: v2.55   Date: 11/10/1989
  347. Fixed: Serial communications are now working properly, even if limited.
  348.        See SERIAL_SEND, ENABLE SERIAL, DISABLE SERIAL and SERIAL_STATUS
  349.  
  350. FAST: v2.56   Date: 22/10/1989
  351. Fixed: Speed. Somebody alerted me that Borland's new Turbo C was faster when
  352.        doing the sieve benchmark - this problem has now been fixed.
  353.  
  354.        PS: FAST produced a runable file 32 times less the size of C's.
  355.  
  356. FAST: v2.57   Date: 18/11/1989
  357. Fixed: Fixed error message when the quote character was missing from the
  358.        PRINT command.
  359.  
  360. FAST: v2.58   Date: 26/11/1989
  361. Fixed: The MOD function gave the wrong answer when the divsor was not a
  362.        numeric constant or a variable.
  363.      - Undefined procedures now produce an error, only Syntax error but at
  364.        least it's something.
  365.  
  366. FAST: v2.59   Date: 22/03/1990
  367. Fixed: Short jumps that exceeded the short jump range didn't always give an
  368.        error, fixed now.
  369.  
  370. FAST: v2.61   Date: 23/09/1990
  371. Fixed: Bug in WT.F, would not remove files properly when more than 7 files
  372.        were in memory.
  373.      - When passing a parameter to a procedure or function which happens to be
  374.        a variable the same as declared in the procedure or function then no
  375.        code is produced, previously the code
  376.                 MOV AX,[var]
  377.                 MOV [var],AX   was produced, clearly a waste of time and space.
  378.  
  379. FAST: v2.62   Date: 09/10/1990
  380. Fixed: Windows only 1 line deep didn't print properly.
  381.  
  382. FAST: v2.63   Date: 24/10/1990
  383. Fixed: The '.' function eg (.variable) gives the address of the variable,
  384.        now it also gives the addresses for functions and procedures.
  385.  
  386. FAST: v2.64   Date: 29/10/1990
  387. Fixed: FAST now checks if the last instruction before a 'return' was a CALL
  388.        instruction, such as calling a procedure or a gosub command. If it was
  389.        then FAST changes the CALL to a JMP instruction, increasing speed.
  390.  
  391. FAST: v2.65   Date: 10/11/1990
  392. Fixed: FAST already optimises multiplication if multiplying by a constant
  393.        between 1 and 10. Now it also optimises *256.
  394.        Eg, instead of MOV BX,256   now its MOV AH,AL
  395.               MUL BX           SUB AL,AL
  396.  
  397. FAST: v2.66   Date: 14/11/1990
  398. Fixed: print bios tab - printed a backspace character, not a tab character.
  399.  
  400. FAST: v2.67   Date: 27/11/1990
  401.